1
Más Allá del Dibujo Básico: Operaciones Compuestas y Herramientas de Espray
AI020Lesson 10
00:00

Este módulo pasa de caminos estáticos a herramientas dinámicas basadas en eventos manipulando el CanvasRenderingContext2D estado. Nos enfocamos en ampliar las capacidades de la aplicación mediante patrones de orden superior y filtrado matemático.

1. Patrones de Herramientas de Orden Superior

Herramientas como tools.Line abstraen eventos del ratón usando ayudantes como trackDrag. Por el contrario, tools.Spray implementa repetición basada en intervalos mediante setInterval, permitiendo la colocación continua de píxeles mientras se mantiene presionado el botón del ratón.

2. Restricciones Matemáticas

Un desplazamiento aleatorio simple crea una distribución cuadrada. Para lograr un efecto natural de pincel circular, usamos el teorema de Pitágoras para filtrar puntos: $x^2 + y^2 < r^2$. Alternativamente, se podría usar coordenadas polares con Math.sin y Math.cos para la conversión.

3. Operaciones Compuestas y Estado

Más allá de los trazos estándar, la propiedad globalCompositeOperation define cómo interactúan los nuevos píxeles con los existentes. Por ejemplo, establecerlo en 'destination-out' permite que la función tools.Erase convierta los píxeles en transparentes en lugar de simplemente pintarlos de blanco. Controles de interfaz como controls.color y controls.brushSize proporcionan actualizaciones en tiempo real a fillStyle y lineWidth respectivamente.

La propiedad lineCap controla la forma de los extremos de los trazos, esencial para dibujar suavemente.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>